package com.mvc.framework.model;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.MappedSuperclass;
import javax.validation.constraints.NotNull;

import org.hibernate.annotations.AccessType;

/**
 * Composite key auditable entity base class
 * 
 * @author snowpbx
 */
@MappedSuperclass
@AccessType("field")
public class CompositeKeyAuditableEntity implements Serializable,Auditable,CommonConstants {
	@NotNull
	private Boolean recStatus;
	@NotNull
	@Column(columnDefinition = "timestamp")
	private Date createdOn;
	@NotNull
	private Integer createdBy;
	
	@Column(columnDefinition = "timestamp")
	private Date updatedOn;
	
	private Integer updatedBy;

	
	public Date getCreatedOn() {
    	return createdOn;
    }
	public void setCreatedOn(Date createdOn) {
    	this.createdOn = createdOn;
    }
	public Date getUpdatedOn() {
    	return updatedOn;
    }
	public void setUpdatedOn(Date updatedOn) {
    	this.updatedOn = updatedOn;
    }
	public Boolean getRecStatus() {
    	return recStatus;
    }
	public void setRecStatus(Boolean recStatus) {
    	this.recStatus = recStatus;
    }
	public Integer getCreatedBy() {
    	return createdBy;
    }
	public void setCreatedBy(Integer createdBy) {
    	this.createdBy = createdBy;
    }
	public Integer getUpdatedBy() {
    	return updatedBy;
    }
	public void setUpdatedBy(Integer updatedBy) {
    	this.updatedBy = updatedBy;
    }

}
